Interactive projector and method of correcting z-coordinate of the same

ABSTRACT

An interactive projector is provided with a projection section adapted to project an image on a screen surface, a detection section, and a correction section. The detection section detects presence or absence of contact of the pointing element with the screen surface based in a relationship between a difference between a Z-coordinate value of the pointing element and a Z-coordinate value of the screen surface, and a difference threshold value set in advance. The correction section corrects at least one of the Z-coordinate value of the screen surface, the Z-coordinate value of the pointing element, and the difference threshold value based on a history of the Z-coordinate value of the pointing element.

The entire disclosure of Japanese Patent Application No. 2015-151578,filed Jul. 31, 2015 is expressly incorporated by reference herein.

BACKGROUND

1. Technical Field

The present invention relates to an interactive projector capable ofreceiving an instruction of the user with a pointing element.

2. Related Art

JP-A-2012-150636 discloses a projection display device (projector)capable of projecting a projected screen on a screen, and at the sametime taking an image, which includes an object such as a finger, with acamera to detect the position of the object using the taken image. Anobject such as a finger is used as a pointing element for making aninstruction to the projected screen. Specifically, in the case in whichthe tip of the object has contact with the screen, the projectorrecognizes that a predetermined instruction such as drawing is input tothe projected screen, and then redraws the projected screen inaccordance with the instruction. Therefore, it is possible for the userto input a variety of instructions using the projected screen as a userinterface. The projector of the type capable of using the projectedscreen on the screen as a user interface capable of input as describedabove is referred to as an “interactive projector.” Further, the objectused for making an instruction to the projected screen is referred to asa “pointing element.”

In the typical interactive projector, whether or not an instruction ismade using the pointing element is determined in accordance with whetheror not the pointing element has contact with the projected screen (thescreen surface). Therefore, the accuracy of contact detection of thepointing element to the screen surface is important. However, in therelated art, the accuracy of the contact detection is not necessarilysufficient in some cases, and an improvement in the detection accuracyhas been desired.

SUMMARY

An advantage of some aspects of the invention is to solve at least apartof the problems described above, and the invention can be implemented asthe following aspects or application examples.

(1) According to an aspect of the invention, an interactive projectoradapted to detect a position of a pointing element is provided. Theinteractive projector includes a projection section adapted to projectan image on a screen surface, a detection section adapted to detect athree-dimensional coordinate value of the pointing element, and detectpresence or absence of contact of the pointing element with the screensurface based on a relationship between a difference between aZ-coordinate value of the pointing element and a Z-coordinate value ofthe screen surface, and a difference threshold value set in advance, aZ-coordinate being a coordinate in a direction of getting away from thescreen surface, and a correction section adapted to correct at least oneof the Z-coordinate value of the screen surface, the Z-coordinate valueof the pointing element, and the difference threshold value based on ahistory of the Z-coordinate value of the pointing element.

According to the interactive projector, since at least one of theZ-coordinate value of the screen surface, the Z-coordinate value of thepointing element, and the difference threshold value is corrected basedon the history of the Z-coordinate value of the pointing element, evenin the case in which a shift occurs in either of the Z-coordinate valueof the pointing element and the Z-coordinate value of the screensurface, the shift can be corrected, and it becomes possible toaccurately detect presence or absence of the contact of the pointingelement with the screen surface.

(2) The interactive projector described above may further include aplurality of cameras each adapted to image a projection range, in whichthe image is projected, in the screen surface, and the detection sectionmay detect the three-dimensional coordinate value of the pointingelement with triangulation using a plurality of images including thepointing element taken by the plurality of cameras.

According to this configuration, the three-dimensional coordinate valueof the pointing element can accurately be detected using thetriangulation.

(3) In the interactive projector described above, the correction sectionmay perform the correction based on a histogram of the Z-coordinatevalues of the pointing element.

Since the state in which the pointing element has contact with thescreen surface is generally reflected on the histogram of theZ-coordinate values of the pointing element, by arranging that thecorrection is performed based on the histogram, the detection accuracyof the presence or absence of the contact of the pointing element withthe screen surface can be improved.

(4) In the interactive projector described above, the correction sectionmay perform the correction in accordance with a magnitude relationbetween a Z-coordinate value representing a peak of the histogram of theZ-coordinate values of the pointing element and the Z-coordinate valueof the screen surface.

Since the magnitude relation between the Z-coordinate value representingthe peak of the histogram and the Z-coordinate value of the screensurface represents the shift of the Z coordinate, by arranging that thecorrection is performed in accordance with the magnitude relation, thedetection accuracy of the presence or absence of the contact of thepointing element with the screen surface can be improved.

(5) In the interactive projector described above, the correction sectionmay perform the correction in accordance with a magnitude relationbetween a minimum Z-coordinate value in the history of the Z-coordinatevalue of the pointing element and the Z-coordinate value of the screensurface.

Since the magnitude relation between the minimum Z-coordinate value inthe history of the Z-coordinate value of the pointing element and theZ-coordinate value of the screen surface represents the shift of the Zcoordinate, by arranging that the correction is performed in accordancewith the magnitude relation, the detection accuracy of the presence orabsence of the contact of the pointing element with the screen surfacecan be improved.

(6) In the interactive projector described above, the correction sectionmay perform the correction based on the history of the Z-coordinatevalues of the pointing element in a case in which a Z-direction speed ofthe pointing element is zero.

It is conceivable that if the Z-direction speed of the pointing elementis zero, the pointing element has contact with the screen surface.Therefore, by arranging that the correction is performed based on thehistory of the Z-coordinate value of the pointing element in the case inwhich the Z-direction speed of the pointing element is zero, thedetection accuracy of the presence or absence of the contact of thepointing element with the screen surface can be improved.

The invention can be implemented in a variety of configurations such asa system including either one or both of the screen and the pointingelement, and the interactive projector, a control method or a controldevice of the interactive projector, a computer program for realizingthe method or the functions of the device, or a non-transitory storagemedium storing the computer program.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention will be described with reference to the accompanyingdrawings, wherein like numbers reference like elements.

FIG. 1 is a perspective view of a projection system.

FIGS. 2A and 2B are a side view and a front view of the projectionsystem, respectively.

FIG. 3 is a block diagram showing an internal configuration of aprojector.

FIGS. 4A and 4B are explanatory diagrams showing an arrangement andorientations of two cameras.

FIGS. 5A and 5B are explanatory diagrams each showing an example of ahistogram of Z-coordinate values obtained by triangulation.

FIG. 6 is a flowchart of Z-coordinate correction according to a firstembodiment of the invention.

FIGS. 7A and 78 are explanatory diagrams each showing an example ofsectioning of the Z-coordinate correction on the projected screen.

FIG. 8 is a flowchart of a Z-coordinate correction according to a secondembodiment of the invention.

FIG. 9 is a flowchart of a Z-coordinate correction according to a thirdembodiment of the invention.

DESCRIPTION OF EXEMPLARY EMBODIMENTS A. First Embodiment

FIG. 1 is a perspective view of an interactive projection system 900according to a first embodiment of the invention. The system 900 has aninteractive projector 100, a screen plate 920, and a light-emittingpointing element 70. A front surface of the screen plate 920 is used asa projection screen surface SS. The projector 100 is fixed in front ofand above the screen plate 920 with a support member 910. It should benoted that although the projection screen surface SS is verticallyarranged in FIG. 1, it is also possible to use the system 900 with theprojection screen surface SS arranged horizontally.

The projector 100 projects a projected screen PS on the projectionscreen surface SS. The projected screen PS normally includes an imagedrawn inside the projector 100. In the case in which the image drawninside the projector 100 does not exist, the projector 100 irradiatesthe projected screen PS with light to display a white image. In thepresent specification, the “projection screen surface SS” (or a “screensurface SS”) denotes a surface of a member on which the image isprojected. Further, the “projected screen PS” denotes an area of animage projected on the projection screen surface SS by the projector100. Normally, the projected screen PS is projected on a part of theprojection screen surface SS.

The light-emitting pointing element 70 is a pen-shaped pointing elementhaving a tip portion 71 capable of emitting light, a sleeve part 72 heldby the user, and a button switch 73 provided to the sleeve part 72. Theconfiguration and the function of the light-emitting pointing element 70will be described later. In this system 900, one or morenon-light-emitting pointing elements 80 (e.g., non-light-emitting pensor fingers) can be used together with one or more light-emittingpointing elements 70.

FIG. 2A is a side view of the interactive projection system 900, andFIG. 25 is a front view thereof. In the present specification, adirection parallel to a horizontal direction of the projection isdefined as an X direction, a direction parallel to a vertical directionof the screen surface SS is defined as a Y direction, and a directionparallel to a normal line of the screen surface SS is defined as a Zdirection. It should be noted that the X direction is also referred toas a “horizontal direction,” the Y direction is also referred to as a“vertical direction,” and the Z direction is also referred to as an“anteroposterior direction” for the sake of convenience. The Z directionis a direction of getting away from the screen surface SS. Further,among directions parallel to the Y direction (the vertical direction),the direction, in which the projected screen PS is located when viewedfrom the projector 100, is referred to as a “downward direction.” Itshould be noted that in FIG. 2A, the range of the projected screen PSout of the screen plate 920 is provided with hatching for the sake ofconvenience of graphical description.

The projector 100 has a projection lens 210 for projecting the projectedscreen PS on the screen surface SS, a first camera 310 and a secondcamera 320 for taking images of the area of the projected screen PS, anda detection light irradiation section 410 for illuminating the pointingelements (the light-emitting pointing element 70 and thenon-light-emitting pointing element 80) with the detection light. As thedetection light, near infrared light, for example, is used. The twocameras 310, 320 each have at least a first imaging function ofreceiving light in a wavelength region, which includes the wavelength ofthe detection light, to perform imaging. It is preferable for at leastone of the two cameras 310, 320 to be further provided with a secondimaging function of receiving light including visible light to performimaging, and to be configured so as to be able to switch between thesetwo imaging functions. For example, it is preferable for each of the twocameras 310, 320 to be provided with a near infrared filter switchingmechanism (not shown) capable of placing a near infrared filter, whichblocks visible light and transmits only the near infrared light, infront of a lens and of retracting the near infrared filter from thefront of the lens. The arrangement and the orientations of the twocameras 310, 320 will further be described later.

The example shown in FIG. 2B shows the state in which the interactiveprojection system 900 operates in a whiteboard mode. The whiteboard modeis a mode in which the user can arbitrarily draw a picture on theprojected screen PS using the light-emitting pointing element 70 and thenon-light-emitting pointing element 80. The projected screen PSincluding a toolbox TB is projected on the screen surface

SS. The toolbox TB includes a cancel button UDB for undoing the process,a pointer button PTB for selecting a mouse pointer, pen buttons PEB forselecting pen tools for performing drawing, an eraser button ERB forselecting an eraser tool for erasing the image having been drawn, andforward/backward buttons FRB for feeding the screen forward or backward.By clicking these buttons using the pointing element, the user canperform processes corresponding to the respective buttons, or can selecttools corresponding to the respective buttons. It should be noted thatit is also possible to arrange that the mouse pointer is selected as adefault tool immediately after starting up the system 900. In theexample shown in FIG. 2B, there is described the appearance in which aline is being drawn in the projected screen PS by the user selecting thepen tool, and then moving the tip portion 71 of the light-emittingpointing element 70 within the projected screen PS in the state ofhaving contact with the screen surface SS. The drawing operation of theline is performed by a projection image generation section (describedlater) incorporated in the projector 100.

It should be noted that the interactive projection system 900 canoperate in other modes than the whiteboard mode. For example, thissystem 900 can also operate in a PC interactive mode for displaying animage of the data, which has been transferred from a personal computer(not shown) via a communication line, in the projected screen PS. In thePC interactive mode, an image of the data of, for example, spreadsheetsoftware is displayed, and it becomes possible to perform input,generation, correction, and so on of the data using a variety of toolsand icons displayed in the image.

FIG. 3 is a block diagram showing an internal configuration of theinteractive projector 100 and the light-emitting pointing element 70.The projector 100 has a control section 700, a projection section 200, aprojection image generation section 500, a position detection section600, an imaging section 300, the detection light irradiation section410, and a signal light transmission section 430.

The control section 700 performs control of each of the sectionsincorporated in the projector 100. Further, the control section 700determines the content of the instruction performed on the projectedscreen PS by the pointing element (the light-emitting pointing element70 or the non-light-emitting pointing element 80) detected by theposition detection section 600, and at the same time commands theprojection image generation section 500 to generate or change theprojection image in accordance with the content of the instruction.

The projection image generation section 500 has a projection imagememory 510 for storing the projection image, and has a function ofgenerating the projection image to be projected on the screen surface SSby the projection section 200. It is preferable for the projection imagegeneration section 500 to be further provided with a function as akeystone distortion correction section for correcting a keystonedistortion of the projected screen PS (FIG. 2B).

The projection section 200 has a function of projecting the projectionimage, which has been generated by the projection image generationsection 500, on the screen surface SS. The projection section 200 has alight modulation section 220 and a light source 230 besides theprojection lens 210 explained with reference to FIGS. 2A and 2B. Thelight modulation section 220 modulates the light from the light source230 in accordance with the projection image data supplied from theprojection image memory 510 to thereby form projection image light IML.The projection image light IML is typically color image light includingthe visible light of three colors of RGB, and is projected on the screensurface SS by the projection lens 210. It should be noted that as thelight source 230, there can be adopted a variety of types of lightsources such as a light emitting diode or a laser diode besides a lightsource lamp such as a super-high pressure mercury lamp. Further, as thelight modulation section 220, there can be adopted a transmissive orreflective liquid crystal panel, a digital mirror device, and so on, andthere can also be adopted a configuration provided with a plurality oflight modulation sections 220 for the respective colored light beams.

The detection light irradiation section 410 irradiates throughout thescreen surface SS and the space in front of the screen surface SS withirradiating detection light IDL for detecting the tip portion of thepointing element (the light-emitting pointing element 70 or thenon-light-emitting pointing element 80). As the irradiating detectionlight IDL, near infrared light, for example, is used. The detectionlight irradiation section 410 is put on only in a predetermined periodincluding imaging timing of the cameras 310, 320, and is put off inother periods. Alternatively, it is also possible to arrange that thedetection light irradiation section 410 is always kept in the lightingstate while the system 900 is in operation.

The signal light transmission section 430 has a function of transmittinga device signal light ASL to be received by the light-emitting pointingelement 70. The device signal light ASL is the near infrared signal forsynchronization, and is periodically emitted from the signal lighttransmission section 430 of the projector 100 to the light-emittingpointing element 70. A tip light emitting section 77 of thelight-emitting pointing element 70 emits pointing element signal lightPSL (described later) as the near infrared light having a predeterminedlight emission pattern (light emission sequence) in sync with the devicesignal light ASL. Further, when performing the position detection of thepointing element (the light-emitting pointing element 70 or thenon-light-emitting pointing element 80), the cameras 310, 320 of theimaging section 300 perform imaging at predetermined timingssynchronized with the device signal light ASL.

The imaging section 300 has the first camera 310 and the second camera320 explained with reference to FIGS. 2A and 2B. As described above, thetwo cameras 310, 320 each have the function of receiving light in thewavelength region including the wavelength of the detection light tothereby perform imaging. In the example shown in FIG. 3, there isdescribed the appearance in which the irradiating detection light IDLemitted by the detection light irradiation section 410 is reflected bythe pointing element (the light-emitting pointing element 70 or thenon-light-emitting pointing element 80), and then the reflecteddetection light RDL is received by the two cameras 310, 320 to beimaged. The two cameras 310, 320 further receive the pointing elementsignal light PSL, which is the near infrared light emitted from the tiplight emitting section 77 of the light-emitting pointing element 70, tothereby perform imaging. Imaging by the two cameras 310, 320 isperformed in both of a first period, in which the irradiating detectionlight IDL emitted from the detection light irradiation section 410 is inan ON state (light-emitting state), and a second period in which theirradiating detection light IDL is in an OFF state (non-light-emittingstate). It is possible for the position detection section 600 todetermine which one of the light-emitting pointing element 70 and thenon-light-emitting pointing element 80 corresponds to each of thepointing elements included in the images by comparing the images in therespective two types of periods with each other.

It should be noted that at least one of the two cameras 310, 320 ispreferably provided with a function of performing imaging using thelight including the visible light in addition to a function ofperforming imaging using the light including the near infrared light. Byadopting this configuration, it is possible to take images of theprojected screen PS projected on the screen surface SS with the camerasto make it possible for the projection image generation section 500 toperform the keystone distortion correction using the images. Since themethod of the keystone distortion correction using one or more camerasis well known, the explanation thereof will be omitted here.

The position detection section 600 has a function of determining thethree-dimensional position of the tip portion of the pointing element(the light-emitting pointing element 70 or the non-light-emittingpointing element 80) by making use of triangulation using the imagestaken by the two cameras 310, 320. On this occasion, the positiondetection section 600 also determines which one of the light-emittingpointing element 70 and the non-light-emitting pointing element 80corresponds to each of the pointing elements in the images using thelight emission pattern of the light-emitting pointing element 70.

In the present embodiment, the position detection section 600 has adetection section 610 and a correction section 620. The detectionsection 610 has a function of detecting the three-dimensional coordinatevalue of the pointing element by the triangulation using the imagesincluding the pointing element 80 (or 70) taken by the two cameras 310,320, and a function of detecting presence or absence of the contact ofthe pointing element with the projected screen PS (the screen surfaceSS). The correction section 620 has a function of correcting at leastone of a Z-coordinate value of the screen surface SS, a Z-coordinatevalue of the pointing element 80 (or 70) obtained by the triangulation,and a difference threshold value δZth (described later) used for thecontact determination based on the history of the Z-coordinate value ofthe pointing element 80 (or 70). These functions will further bedescribed later.

The light-emitting pointing element 70 is provided with a signal lightreception section 74, a control section 75, a tip switch 76, and the tiplight emitting section 77 besides the button switch 73. The signal lightreception section 74 has a function of receiving the device signal lightASL having been emitted from the signal light transmission section 430of the projector 100. The tip switch 76 is a switch to be set to the ONstate when the tip portion 71 of the light-emitting pointing element 70is pushed, and set to the OFF state when the tip portion 71 is released.The tip switch 76 is normally in the OFF state, and is set to the ONstate when the tip portion 71 of the light-emitting pointing element 70has contact with the screen surface SS due to the contact pressurethereof. When the tip switch 76 is in the OFF state, the control section75 makes the tip light emitting section 77 emit light with a specificfirst light emission pattern representing the fact that the tip switch76 is in the OFF state to thereby emit the pointing element signal lightPSL having the first light emission pattern. In contrast, when the tipswitch 76 turns to the ON state, the control section 75 makes the tiplight emitting section 77 emit light with a specific second lightemission pattern representing the fact that the tip switch 76 is in theON state to thereby emit the pointing element signal light PSL havingthe second light emission pattern. Since the first light emissionpattern and the second light emission pattern are different from eachother, it is possible for the position detection section 600 to analyzethe images taken by the two cameras 310, 320 to thereby determinewhether the tip switch 76 is in the ON state or in the OFF state.

As described above, in the present embodiment, the contact determinationon whether or not the tip portion 71 of the light-emitting pointingelement 70 has contact with the screen surface SS is performed inaccordance with the ON/OFF state of the tip switch 76. Incidentally,since the three-dimensional position of the tip portion 71 of thelight-emitting pointing element 70 can be obtained with thetriangulation using the images taken by the two cameras 310, 320, it isalso possible to perform the contact determination of the tip portion 71of the light-emitting pointing element 70 using the three-dimensionalposition.

The button switch 73 of the light-emitting pointing element 70 has thesame function as that of the tip switch 76. Therefore, the controlsection 75 makes the tip light emitting section 77 emit the light withthe second light emission pattern described above in the state in whichthe user holds down the button switch 73, and makes the tip lightemitting section 77 emit the light with the first light emission patterndescribed above in the state in which the button switch 73 is not helddown. In other words, the control section 75 makes the tip lightemitting section 77 emit the light with the second light emissionpattern described above in the state in which at least one of the tipswitch 76 and the button switch 73 is in the ON state, and makes the tiplight emitting section 77 emit the light with the first light emissionpattern described above in the state in which both of the tip switch 76and the button switch 73 are in the OFF state.

It should be noted that it is also possible to arrange that a differentfunction from that of the tip switch 76 is assigned to the button switch73. For example, in the case in which the same function as that of aright-click button of the mouse is assigned to the button switch 73,when the user holds down the button switch 73, an instruction of theright click is transmitted to the control section 700 of the projector100, and the process corresponding to the instruction is executed. Inthe case in which the different function from that of the tip switch 76is assigned to the button switch 73 as described above, the tip lightemitting section 77 emits light with four light emission patternsdifferent from each other in accordance with the ON/OFF state of the tipswitch 76 and the ON/OFF state of the button switch 73. In this case, itis possible for the light-emitting pointing element 70 to transmit thefour combinations of the ON/OFF states of the tip switch 76 and thebutton switch 73 to the projector 100 while distinguishing the fourcombinations from one another.

The five specific examples of the signal light described in FIG. 3 aresummed up as follows.

(1) Projection Image Light IML: the image light (visible light)projected on the screen surface SS by the projection lens 210 in orderto project the projected screen PS on the screen surface SS.

(2) Irradiating Detection Light IDL: the near infrared light with whichthe detection light irradiation section 410 irradiates throughout thescreen surface SS and the space in front of the screen surface SS fordetecting the tip portions of the pointing elements (the light-emittingpointing element 70 and the non-light-emitting pointing element 80).

(3) Reflected Detection Light RDL: the near infrared light reflected bythe pointing elements (the light-emitting pointing element 70 and thenon-light-emitting pointing element 80), and then received by the twocameras 310, 320 out of the near infrared light applied as theirradiating detection light IDL.

(4) Device Signal Light ASL: the near infrared light periodicallyemitted from the signal light transmission section 430 of the projector100 in order to synchronize the projector 100 and the light-emittingpointing element 70 with each other.

(5) Pointing Element Signal Light PSL: the near infrared light emittedfrom the tip light emitting section 77 of the light-emitting pointingelement 70 at the timing synchronized with the device signal light ASL.The light emission pattern of the pointing element signal light PSL ischanged in accordance with the ON/OFF states of the switches 73, 76 ofthe light-emitting pointing element 70. Further, the unique lightemission patterns for identifying the plurality of light-emittingpointing elements 70 are provided.

FIG. 4A is an explanatory diagram showing an arrangement and directionsof the two cameras 310, 320. The drawing shows an arrangement on the Y-Zplane passing through camera reference positions O1, O2 of therespective cameras 310, 320. The first camera 310 is disposed at aposition with a longer vertical distance (distance in the Z direction)from the screen surface SS than in the case of the second camera 320.The two cameras 310, 320 are modeled using the camera referencepositions O1, O2, image planes (imaging planes) MP1, MP2, optical axesV1, V2, and field angles 2θ₁, 2θ₂, respectively.

In FIG. 4A, there is drawn a state in which the tip portion 81 of thenon-light-emitting pointing element 80 is distant as much as a distanceδZ from the projected screen PS. As described above, thethree-dimensional position of the tip portion 81 of thenon-light-emitting pointing element 80 is determined with thetriangulation using the images taken by the two cameras 310, 320. In theinteractive projection system 900, it is desired to accurately detectthe distance δZ in the Z direction between the tip portion 81 of thenon-light-emitting pointing element 80 and the screen surface SS.Therefore, in the present embodiment, by devising the arrangement andthe orientations of the two cameras 310, 320, there is improved thedetection accuracy of the distance δZ in the Z direction between the tipportion 81 of the non-light-emitting pointing element 80 and the screensurface SS. It should be noted that the detection accuracy of thedistance δZ in the Z direction is also referred to as “resolution of theZ coordinate.”

In FIG. 4A, the second camera 320 is disposed at a position with ashorter vertical distance (distance in the Z direction) from theprojected screen PS than in the case of the first camera 310. Further,the two cameras 310, 320 are disposed at positions identical in the Ydirection (having the same height from the projected screen PS).Further, the optical axes V1, V2 of the two cameras 310, 320 areparallel to each other.

FIG. 4B shows a relationship between optical axis vectors V1, V2 of thetwo cameras 310, 320 and the projected screen normal vector NV. Theoptical axis vectors V1, V2 are obliquely tilted from the projectedscreen normal vector NV, and the angles θ_(1N), θ_(2N) formed betweenthe respective optical axis vectors V1, V2 and the projected screennormal vector NV are smaller than 90°. Since the projected screen normalvector NV has the Z direction, these angles θ_(1N), θ_(2N) correspond tothe angles formed between the directions of the respective optical axesV1, V2 and the Z direction. These angles θ_(1N), θ_(2N) can be set in arange larger than 0° and smaller than 90°, and are preferably set to avalue in a range of 50° through 70°. In the present embodiment, bydisposing the second camera 320 at the position closer to the projectedscreen PS than the position of the first camera 310, the resolution ofthe Z coordinate is improved.

It should be noted that regarding the second camera 320, since thesmaller the angle θ_(2N) (FIG. 4B) of the optical axis V2 is set (thecloser in the Z direction, the second camera 320 is made), the largerthe image with the distance δZ in the Z direction on the image plane MP2becomes, the resolution of the Z coordinate increases. It should benoted that if the angle θ_(2N) is made excessively small, the width ofthe image in the Y direction of the projected screen PS on the imageplane MP2 becomes excessively small, and therefore, the resolution ofthe Y coordinate is degraded. In consideration of a balance in theresolution between the Z coordinate and the Y coordinate based on thesepoints, the angle θ_(2N) of the optical axis V2 of the second camera 320is preferably set to a value in a range of 50° through 70°, and is morepreferably set to a value in a range of 60° through 70°.

Regarding the first camera 310, the variation in the resolution of the Zcoordinate due to the difference of the angle θ_(IN) of the optical axisV1 is smaller compared to the case of the second camera 320. It shouldbe noted that the first camera 310 can obtain higher resolution withrespect to the Y coordinate than in the case of the second camera 320.In contrast, the second camera 320 can obtain higher resolution withrespect to the Z direction than in the case of the first camera 310. Theresolution of the X coordinate is in roughly the same level between thetwo cameras 310, 320. It is preferable for the angles θ_(1N), θ_(2N) ofthe optical axes V1, V2 of the two cameras 310, 320 to respectively beset to the range in which the resolution balance between the Ycoordinate and the Z coordinate is appropriate from a comprehensivepoint of view. Specifically, these angles θ_(1N), θ_(2N) are bothpreferably set to values in a range of 50° through 70°, and are morepreferably set to values in a range of 60° through 70°. It should benoted that it is further preferable to set the optical axis V1 of thefirst camera 310 to be parallel to the optical axis V2 of the secondcamera 320, in the point that the calculation of the coordinateconversion in the triangulation can be simplified, and thus, thethree-dimensional position of the pointing element can be determinedwith higher accuracy.

In the present embodiment, by disposing the second camera 320 at theposition closer to the projected screen PS than the position of thefirst camera 310, the resolution of the Z coordinate can be improved,and at the same time, sufficiently high resolution can also be obtainedwith respect to the Y coordinate. It should be noted that it is alsopossible to set the positions (the Z coordinates) along the Z directionof the two cameras 310, 320 equal to each other. It should be noted thatthe positions (the X coordinates) along the X direction of the twocameras 310, 320 can be the same, or can also be different from eachother. The same applies to the positions (the Y coordinates) along the Ydirection of the two cameras 310, 320.

Incidentally, before using the projector 100 (e.g., when installing theprojector 100), a calibration regarding the three-dimensional coordinateof the screen surface SS is performed in advance. The calibration isperformed by, for example, the projection section 200 (FIG. 3)projecting a pattern of the calibration on the screen surface SS, thecameras 310, 320 being switched to a visible light shooting mode toimage the pattern, and the detection section 810 detecting thecoordinates of a plurality of places of the pattern in the taken imagesto determine the three-dimensional coordinate of the screen surface SS.When the calibration is completed, it becomes possible for the detectionsection 610 to determine whether or not the pointing element 80 hascontact with the screen surface SS. It should be noted that there is apossibility that the Z-coordinate value of the screen surface SS and theZ-coordinate value obtained by the triangulation vary after thecalibration due to the factor that the screen surface SS or theprojector 100 moves, or the factor that an error due to a change intemperature of the equipment (e.g., the cameras 310, 320) occurs. Whenthese Z-coordinate values vary, the accuracy of the contact detection ofthe pointing element 80 degrades to cause the problem that the contactstate is determined despite the pointing element 80 being separated fromthe screen surface SS, or by contraries, the non-contact state isdetermined despite the pointing element 80 having contact with thescreen surface SS. Therefore, in the present embodiment, correction ofthe Z-coordinate is performed based on the history of the Z-coordinatevalue of the pointing element 80 obtained by the triangulation.

FIGS. 5A and 5B are explanatory diagrams each showing an example of ahistogram of the Z-coordinate values of the pointing element 80 obtainedby the triangulation. Here, the “Z-coordinate values of the pointingelement 80 obtained by the triangulation” means the Z-coordinate valuesout of the three-dimensional coordinate values of the pointing element80 detected by the detection section 610 (FIG. 3) irrespective ofwhether or not the pointing element 80 has contact with the screensurface SS. The detection section 610 updates the histogram of theZ-coordinate values every time the Z-coordinate value (to be precise,the Z-coordinate value of the tip portion of the pointing element 80) ofthe pointing element 80 is calculated by the triangulation in both ofthe contact state in which the pointing element 80 has contact with thescreen surface SS and the non-contact state in which the pointingelement 80 does not have contact with the screen surface SS. It shouldbe noted that as described above, the Z-coordinate value Zss of thescreen surface SS is corrected in advance in the calibration afterinstalling the projector 100. In a typical example, the Z-coordinatevalue Zss of the screen surface SS after the calibration is set to zero.It should be noted that the Z-coordinate value Zss of the screen surfaceSS after the calibration is also referred to as a “known Z-coordinatevalue of the screen surface SS.” When the Z-coordinate value of thescreen surface SS is corrected by the correction of the Z coordinatedescribed later, the value thus corrected becomes the “knownZ-coordinate value of the screen surface SS.”

FIG. 5A shows the histogram which can be obtained in the case in whichthere is no shift in the Z-coordinate value of the pointing element 80obtained by the triangulation. In this example, the left side directionin FIG. 5A is defined as the +Z direction (the direction of getting awayfrom the screen surface SS), and the right side direction is defined asthe −Z direction (the direction toward the reverse side of the screensurface SS) in order to provide consistency with FIG. 4A. In the case inwhich there is no shift in the Z-coordinate value, the Z-coordinatevalue Zp representing the peak of the histogram is equal to theZ-coordinate value Zss (Zss=0 in this example) of the screen surface.The reason therefor is that if the user continues the operation ofperforming pointing on the screen surface SS (the projected screen PS)using the pointing element 80, the number of times of the trial in whichthe three-dimensional coordinate value of the pointing element 80 issuccessfully detected in the state in which the pointing element 80 hascontact with the screen surface SS gradually increases. Therefore, sincethe Z-coordinate value of the pointing element 80 in the state of havingcontact with the screen surface SS becomes a certain value (0 in thisexample), the Z-coordinate value forms the peak of the frequency.

FIG. 5B shows the histogram which can be obtained in the case in whichthere is some shift in the Z-coordinate value of the pointing element 80obtained by the triangulation. In this example, the Z-coordinate valueZp representing the peak of the histogram is shifted toward the minusside of the Z-coordinate value Zss (=0) of the screen surface. Further,the minimum Z-coordinate value Zmin of the histogram is located on theminus side of the Z-coordinate value Zp of the peak. In such a case,since the detection error in the contact detection of the pointingelement 80 increases, it is preferable to correct the Z coordinate.

FIG. 6 is a flowchart of the Z-coordinate correction according to thefirst embodiment. The whole of the process shown in FIG. 6 is performedevery constant period (step S110). The constant period is set to, forexample, a period corresponding to 60 through 240 times per second. Inthe following description, the case of using a fingertip as the pointingelement 80 will be described. It should be noted that it is assumed thatthe calibration regarding the three-dimensional coordinate of the screensurface SS has previously been performed prior to the process shown inFIG. 6.

In the step S120, the detection section 610 (FIG. 3) detects thethree-dimensional coordinate of the fingertip with the triangulationusing the two cameras 310, 320. In the step S130, the detection section610 determines whether or not the fingertip has contact with the screensurface SS. In general, the determination is performed as follows.

If Zmes−Zss≦δZth is true, contact is determined.   (1a)

If δZth<Zmes−Zss is true, non-contact is determined.   (1b)

Here, Zmes denotes the Z-coordinate value of the fingertip detected bythe triangulation, Zss denotes the known Z-coordinate value of thescreen surface SS, and δZth is the difference threshold value.

In other words, in the contact determination, if the difference(Zmes−Zss) between the Z-coordinate value Zmes of the pointing elementand the Z-coordinate value Zss of the screen surface SS is equal to orsmaller than the difference threshold value δZth, contact is determined,and if the difference is larger than the difference threshold valueδZth, non-contact is determined. It should be noted that as thedifference threshold value δZth, for example, a value in a range of 3through 5 mm is used.

In the case in which contact has been determined in the step S130, atouch process is performed in the step S140, and in the case in whichnon-contact has been determined, a non-touch process is performed in thestep S150. Here, the “touch process” denotes a variety of processesperformed when the pointing element has contact with the projectedscreen PS in accordance with the contact position. As the touch process,there can be cited a process such as drawing of a diagram (FIG. 2B), orselection of a tool. Further, the “non-touch process” denotes a varietyof processes performed when the pointing element does not have contactwith the projected screen PS in accordance with the three-dimensionalposition of the pointing element. As the non-touch process, there can becited a process of, for example, updating the position on the projectedscreen PS and then redrawing the tools used in the pointing element. Itshould be noted that it is also possible to arrange that nothing isperformed as the “non-touch process.” It should be noted that theprocess corresponding to the steps S140, S150 is performed by theprojection image generation section 500 (FIG. 3).

In the step S160, the correction section 620 (FIG. 3) updates thehistogram using the Z-coordinate value obtained in the step S120. In thestep S170, the correction section 620 compares the Z-coordinate value Zpof the peak of the histogram and the known Z-coordinate value Zss of thescreen surface SS with each other, and then performs the correction ofthe Z coordinate in accordance with the comparison result as follows.

1. If Zss<Zp is true, a plus correction of the Z coordinate is performed(step S180). Specifically, for example, +δ is added to the Z-coordinatevalue Zss of the screen surface SS.

2. If Zss=Zp is true, the correction of the Z coordinate is notperformed.

3. If Zp<Zss is true, a minus correction of the Z coordinate isperformed (step S190). Specifically, for example, −δ is added to theZ-coordinate value Zss of the screen surface SS.

Here, “δ” denotes the minimum correction unit used in the correction ofthe Z coordinate, and is arbitrarily set in advance in accordance withthe bit count of the Z-coordinate value. For example, the minimumcorrection unit δ can be set to a value corresponding to the differencebetween “0” and “1” in the least significant bit of the Z-coordinatevalue.

As shown in the example of FIG. 5B, in the case in which theZ-coordinate value Zp of the peak is smaller than the Z-coordinate valueZss of the screen surface SS, the minus correction is performed in thestep S190. The reason thereof is that since it is conceivable that theZ-coordinate value Zp of the peak corresponds to the state in which thepointing element 80 (the fingertip) has contact with the screen surfaceSS as described with reference to FIGS. 5A and 5B, if the Z-coordinatevalue Zss of the screen surface SS is corrected toward the minus side inthe case in which Zp<Zss is true, the Z-coordinate value Zss approachesthe correct value. After then, by using the Z-coordinate value Zss thuscorrected of the screen surface SS for the contact determination, theaccuracy of the contact determination can be improved. In contrast, inthe case in which the Z-coordinate value Zp of the peak is larger thanthe Z-coordinate value Zss of the screen surface SS, by performing theplus correction in the step S180, the accuracy of the contactdetermination can be improved.

It should be noted that in the steps S180, S190, the correction isperformed with a constant minimum correction unit δ irrespective of thelevel of the difference (Zp−Zss) between the Z-coordinate value Zp ofthe peak and the Z-coordinate value Zss of the screen surface SS. Byperforming such a process, it is possible to prevent an unexpectedproblem (e.g., switching between the contact determination and thenon-contact determination frequently occurs) from occurring due to thesignificant correction of the Z coordinate. Further, since the processshown in FIG. 6 is performed every constant period, even in the case inwhich the difference (Zp−Zss) is significantly large, the difference(Zp−Zss) gradually decreases and approximates to zero as the processshown in FIG. 6 is repeated a plurality of times, and therefore, thereis no practical problem. It should be noted that as the correction valuein the steps S180, S190, another correction value can also be usedinstead of using the minimum correction unit δ. For example, as thecorrection value, there can be used a value k|Zp−Zss| obtained bymultiplying the absolute value |Z−Zss| of the difference between theZ-coordinate value Zp of the peak and the Z-coordinate value Zss of thescreen surface SS by a coefficient k. Here, as the coefficient k, it ispossible to use a value in a range, for example, not smaller than 0.6and not larger than 1.0. By adopting this configuration, the correctionof the Z coordinate can more promptly be completed.

When the correction process of the Z coordinate in the steps S170through S190 is completed in such a manner, the process returns to thestep S110, and the process of the steps S110 through S190 describedabove is repeatedly performed every constant period.

It should be noted that since the reliability of the histogram is lowduring the period low in the number of data of the Z-coordinate values,it is also possible to arrange that the correction of the Z-coordinate(the steps S170 through S190 in FIG. 6) is not performed. Specifically,it is also possible to arrange that the correction of the Z coordinateis performed after the time point when the number of data of theZ-coordinate values exceeds a predetermined number (e.g., 100). Further,in the case in which the X, Y coordinate values of the pointing element(the fingertip) obtained in the step S120 is not changed from the valuein the previous trial, it is possible to arrange that the process (stepsS160 through S190) on and after the addition to the histogram is notperformed since there is a possibility that there arise some specialcircumstances. It should be noted that the process shown in FIG. 6 canbe reset every time the power is applied to the projector 100, or it isalso possible to arrange that the Z-coordinate value having beencorrected is held in a nonvolatile memory (not shown) in the positiondetection section 600 even after the power of the projector 100 isturned off.

Further, the correction of the Z coordinate can also be performed in thestate in which a single Z-coordinate value is assigned to the entirescreen surface SS (or the projected screen PS), or can also be performedin the state in which the screen surface SS (or the projected screen PS)is divided into a plurality of small areas, and then a singleZ-coordinate value is assigned to each of the small areas.

FIGS. 7A and 7B are explanatory diagrams each showing an example ofsectioning of the Z-coordinate correction on the projected screen PS. Inthe example shown in FIG. 7A, the same Z-coordinate value is assigned tothe whole of the projected screen PS, and the correction shown in FIG. 6is performed on the Z-coordinate value. In the example shown in FIG. 7B,the projected screen PS is sectioned into a plurality of (9 here) smallareas PS1 through PS9, and the correction of the Z coordinate isindividually performed on each of these small areas PS1 through PS9. Inthe latter case, the histogram shown in FIG. 5 is also made for each ofthe small areas PS1 through PS9. It should be noted that in the case ofsectioning the projected screen PS (or the screen surface SS) into theplurality of small areas PS1 through PS9, it is also possible to arrangethat the Z-coordinate values thus corrected in the plurality of smallareas PS1 through PS9 are interpolated to obtain localized Z-coordinatevalues throughout the entire projected screen PS (or the screen surfaceSS). For example, it is also possible to calculate the correctedZ-coordinate values by linear interpolation or polynomial approximationinterpolation from the center of a certain small area (e.g., PS1) towardthe center of an adjacent small area (e.g., PS2). The correction of theZ coordinate sectioned into the small areas described above can also beapplied to other embodiments described below.

It should be noted that in the process shown in FIG. 6, although it isassumed that the correction of the Z coordinate is performed based onthe Z-coordinate value Zp in the peak of the histogram of theZ-coordinate values of the pointing element, it is also possible toarrange that the correction of the Z coordinate is performed using othercharacteristic values obtained from the histogram. For example, it isalso possible to perform the correction of the Z coordinate using anaverage value (a simple average value or a weighted mean) of theZ-coordinate value Zp in the peak of the histogram and the minimumZ-coordinate value Zmin. Since the state in which the pointing elementhas contact with the screen surface SS is generally reflected on thehistogram of the Z-coordinate values of the pointing element, byarranging that the correction is performed based on the histogram, thepresence or absence of the contact of the pointing element with thescreen surface SS can accurately be detected.

As described above, in the first embodiment, since it is arranged thatthe Z-coordinate value Zss of the screen surface SS is corrected basedon the histogram of the Z-coordinate values of the pointing element, itis possible to improve the accuracy of the contact detection of thepointing element with the screen surface SS.

B. Second Embodiment

FIG. 8 is a flowchart of the Z-coordinate correction according to asecond embodiment. The difference from the first embodiment shown inFIG. 6 is only the steps S160 a, S170 a, and the other steps thereof arethe same as shown in FIG. 6.

In the step S160 a, instead of the update (the step S160 in FIG. 6) ofthe histogram of the Z-coordinate values, the minimum Z-coordinate valueZmin is updated if need arises. Here, the “minimum Z-coordinate valueZmin” denotes the minimum value of the Z-coordinate values obtained inthe history of a plurality of repetitions of the process shown in FIG.6. Although the minimum Z-coordinate value Zmin appears in the histogramshown in FIG. 5B, it is not necessary to make the histogram forobtaining the minimum Z-coordinate value Zmin, and it is sufficient tosimply register the minimum value of the history of the Z-coordinatevalues as the minimum Z-coordinate value Zmin. The update of the minimumZ-coordinate value Zmin in the step S160 s is performed only in the casein which the Z-coordinate value of the fingertip obtained in the stepS120 is smaller than the previous minimum Z-coordinate value Zmin.

In the step S170 a, the correction section 620 compares the minimumZ-coordinate value Zmin and the known Z-coordinate value Zss of thescreen surface SS with each other, and then performs the correction ofthe Z coordinate in accordance with the comparison result as follows.

1. If Zss<Zmin is true, a plus correction of the Z coordinate isperformed (step S180).

2. If Zss=Zmin is true, the correction of the Z coordinate is notperformed.

3. If Zmin<Zss is true, a minus correction of the Z coordinate isperformed (step S190).

As a result of the correction, it becomes possible to perform thecorrection to the correct value even in the case in which the shift iscaused in the Z-coordinate value similarly to the first embodiment.

The reason that the minimum Z-coordinate value Zmin is used in thesecond embodiment is that the minimum Z-coordinate value Zmin is roughlythe same as the Z-coordinate value Zp of the peak of the histogram, andthe difference between the both values is sufficiently small, andtherefore, roughly the same correction effect can be obtained by usingeither of the both values. Further, in the case of using the minimumZ-coordinate value Zmin, it is not necessary to make the histogram, andtherefore there is an advantage that the process is simpler.

As described above, in the second embodiment, since it is arranged thatthe correction of the Z coordinate is performed based on the minimumZ-coordinate value Zmin of the pointing element obtained by thetriangulation, it is possible to improve the detection accuracy of thecontact detection of the pointing element. It should be noted that theminimum Z-coordinate value Zmin has in common with the histogram used inthe first embodiment in the sense that the both are the characteristicsdetermined based on the history of the Z-coordinate values of thepointing element obtained by the triangulation. Therefore, it isunderstood that the first embodiment and the second embodiment have incommon the point that the Z-coordinate value Zss of the screen surfaceis corrected based on the history of the Z-coordinate values of thepointing element.

C. Third Embodiment

FIG. 9 is a flowchart of the Z-coordinate correction according to athird embodiment. The difference from the first embodiment shown in FIG.6 is only the point that the step S155 is added between the steps S140,S150 and the step S160, and the other steps thereof are the same asshown in FIG. 6.

In the step S155, the correction section 620 determines whether or notthe Z-direction speed of the fingertip is zero, and in the case in whichthe Z-direction speed of the fingertip is zero, the Z-coordinatecorrection process on and after the step S160 is performed, and on theother hand, in the case in which the Z-direction speed of the fingertipis not zero, the process returns to the step S110 without performing theZ-coordinate correction process. It should be noted that whether or notthe Z-direction speed of the fingertip is zero can be determine inaccordance with whether or not the difference between the Z-coordinatevalue of the fingertip obtained in the step S120 in the present trial,and the Z-coordinate value of the fingertip obtained in the step S120 inthe process shown in FIG. 6 in the previous trial is zero. It should benoted that it is not necessary to strictly perform the determinationwhether or not the Z-direction speed is zero, and it is also possible todetermine that the Z-direction speed is zero in the case in which theabsolute value of the Z-direction speed is equal to or smaller than aminute allowable error.

The reason that the Z-coordinate correction process on and after thestep S160 is performed only in the case in which the Z-direction speedof the fingertip is zero in the third embodiment is that it isconceivable that the Z-direction speed of the fingertip becomes zero ifthe fingertip has contact with the screen surface SS. In the thirdembodiment, since the histogram of the Z-coordinate values, which areobtained in the case in which the Z-direction speed of the fingertip iszero, is made, the reliability of the correction of the Z coordinate canbe improved to a higher level than in the first embodiment. It should benoted that it is also possible to arrange that the Z-coordinatecorrection process on and after the step S160 a is performed only in thecase in which the Z-direction speed of the fingertip is zero in thesecond embodiment shown in FIG. 8 similarly to the third embodiment.

Modified Examples

It should be noted that the invention is not limited to the specificexamples and the embodiments described above, but can be implemented asvarious forms within the scope or the spirit of the invention, and thefollowing modifications, for example, can also be adopted.

Modified Example 1

Although in the embodiments described above, it is assumed that thecorrection of the Z coordinate is performed in the case of using thefingertip (the non-light-emitting pointing element 80), it is alsopossible to arrange that the correction of the Z coordinate is performedsimilarly in the case of using the light-emitting pointing element 70.For example, it is also possible to arrange that the process explainedwith reference to FIG. 6, FIG. 8, of FIG. 9 is performed to perform thecorrection of the Z coordinate irrespective of whether the user uses thelight-emitting pointing element 70 or the non-light-emitting pointingelement 80. It should be noted that regarding the light-emittingpointing element 70, since it is also possible to perform the contactdetermination in accordance with the ON/OFF state of the tip switch 76(FIG. 3), the advantage of the correction of the Z coordinate describedabove is more remarkable in the case of using the non-light-emittingpointing element 80.

Modified Example 2

As the method of the correction of the Z coordinate, it is possible toadopt either of the variety of methods described below.

a. The Z-coordinate value Zss of the screen surface SS is corrected (thefirst embodiment).

b. The Z-coordinate value of the pointing element obtained by thetriangulation is corrected.

c. The difference threshold value δZth used in the contact determinationof the pointing element is corrected.

d. Two or more of the methods a through c described above are performedat the same time.

It should be noted that since the correction of the Z coordinate isperformed in order to improve the detection accuracy of the contactdetection of the pointing element with the screen surface SS, roughlythe same advantage can be obtained by adopting either of the methods athrough d. It should be noted that in the case of performing two of themethods a through c at the same time, the correction amount of theZ-coordinate value in one trial becomes twice as large as the minimumcorrection unit δ. In contrast, if it is arranged that either one of themethods a through c is performed alone, the correction amount of theZ-coordinate value in one trial becomes equal to the minimum correctionunit δ, and therefore, it is possible to decrease the correction amountper trial, and an unexpected excessive correction can be prevented.

Modified Example 3

Although in the embodiments described above, it is assumed that theprojected screen PA is projected on the screen surface SS having aplanar shape, it is also possible to assumed that the projected screenPS is projected on the screen surface SS having a curved-surface shape.Also in this case, since the three-dimensional position of the tipportion of the pointing element can be determined with the triangulationusing the images taken by the two cameras, it is possible to determinethe positional relationship between the tip portion of the pointingelement and the projected screen. Further, in the case of using thescreen surface SS having the curved-surface shape, by sectioning theprojected screen PS (or the screen surface SS) into the plurality ofsmall areas as shown in FIG. 7B, and correcting the Z coordinate withrespect to each of the small areas, the accuracy of the contactdetection can further be improved.

Modified Example 4

Although in the embodiments described above, it is assumed that theimaging section 300 for taking the image of the area (the projectionrange in which an image is projected) of the projected screen PSincludes the two cameras 310, 320, the imaging section 300 can alsoinclude three or more cameras. In the latter case, the three-dimensionalcoordinate (X, Y, Z) of the pointing element is determined based on m (mis an integer equal to or greater than three) images taken by the mcameras. For example, it is possible to obtain the three-dimensionalcoordinates using _(m)C₂ combinations obtained by arbitrarily selectingtwo images out of the m images, and then obtain the finalthree-dimensional coordinate using the average value of thethree-dimensional coordinates. By adopting this configuration, thedetection accuracy of the three-dimensional coordinate can further beimproved.

Modified Example 5

Although in the embodiments described above, the three-dimensionalcoordinate of the pointing element is detected with the triangulationusing the plurality of cameras, it is also possible to arrange that thedetection of the three-dimensional coordinate of the pointing element isperformed using other devices. As the other devices for detecting thethree-dimensional coordinate of the pointing element, it is possible toadopt, for example, a system of projecting structured light to theobject to image the object, and a ToF (Time of Flight) system.

Although the embodiments of the invention is hereinabove explained basedon some specific examples, the embodiments of the invention describedabove are only for making it easy to understand the invention, but notfor limiting the scope of the invention. It is obvious that theinvention can be modified or improved without departing from the scopeof the invention and the appended claims, and that the inventionincludes the equivalents thereof.

What is claimed is:
 1. An interactive projector adapted to detect aposition of a pointing element, comprising: a projection section adaptedto project an image on a screen surface; a detection section adapted todetect a three-dimensional coordinate value of the pointing element, anddetect presence or absence of contact of the pointing element with thescreen surface based on a relationship between a difference between aZ-coordinate value of the pointing element and a Z-coordinate value ofthe screen surface, and a difference threshold value set in advance, aZ-coordinate being a coordinate in a direction of getting away from thescreen surface; and a correction section adapted to correct at least oneof the Z-coordinate value of the screen surface, the Z-coordinate valueof the pointing element, and the difference threshold value based on ahistory of the Z-coordinate value of the pointing element.
 2. Theinteractive projector according to claim 1, further comprising: aplurality of cameras each adapted to image a projection range, in whichthe image is projected, in the screen surface, wherein the detect ionsection detects the three-dimensional coordinate value of the pointingelement with triangulation using a plurality of images including thepointing element taken by the plurality of cameras.
 3. The interactiveprojector according to claim 1, wherein the correction section performsthe correction based on a histogram of the Z-coordinate values of thepointing element.
 4. The interactive projector according to claim 3,wherein the correction section performs the correction in accordancewith a magnitude relation between a Z-coordinate value representing apeak of the histogram of the Z-coordinate values of the pointing elementand the Z-coordinate value of the screen surface.
 1. interactiveprojector according to claim 1, wherein the correction section performsthe correction in accordance with a magnitude relation between a minimumZ-coordinate value in the history of the Z-coordinate value of thepointing element and the Z-coordinate value of the screen surface. 1.interactive projector according to claim 1, wherein the correctionsection performs the correction based on the history of the Z-coordinatevalues of the pointing element in a case in which a Z-direction speed ofthe pointing element is zero.
 7. A method of correcting a Z coordinateof an interactive projector capable of detecting a position of apointing element using a plurality of cameras each adapted to image aprojection range, the method comprising: (a) detecting athree-dimensional coordinate value of the pointing element, anddetecting presence or absence of contact of the pointing element withthe screen surface based on a relationship between a difference betweena Z-coordinate value of the pointing element and a Z-coordinate value ofthe screen surface, and a difference threshold value set in advance, aZ-coordinate being a coordinate in a direction of getting away from thescreen surface; and (b) correcting at least one of the Z-coordinatevalue of the screen surface, the Z-coordinate value of the pointingelement, and the difference threshold value based on a history of theZ-coordinate value of the pointing element.